Accept NULL as a detach func. (#323386, Jorn Baayen)
authorMatthias Clasen <mclasen@redhat.com>
Tue, 6 Dec 2005 17:33:46 +0000 (17:33 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Tue, 6 Dec 2005 17:33:46 +0000 (17:33 +0000)
2005-12-06  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkmenu.c (gtk_menu_attach_to_widget): Accept NULL
as a detach func.  (#323386, Jorn Baayen)

ChangeLog
ChangeLog.pre-2-10
gtk/gtkmenu.c

index 3cf8002e95880521ede8c2ac65e0369cce8f0773..8091dc9816f029c1d3fc2ea38497824e45d1d8df 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2005-12-06  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkmenu.c (gtk_menu_attach_to_widget): Accept NULL
+       as a detach func.  (#323386, Jorn Baayen)
+
        * gtk/gtkcalendar.c: Avoid conflict with win32 headers in
        the libdate routines.  (#323045, Kazuki Iwamoto)
 
index 3cf8002e95880521ede8c2ac65e0369cce8f0773..8091dc9816f029c1d3fc2ea38497824e45d1d8df 100644 (file)
@@ -1,5 +1,8 @@
 2005-12-06  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkmenu.c (gtk_menu_attach_to_widget): Accept NULL
+       as a detach func.  (#323386, Jorn Baayen)
+
        * gtk/gtkcalendar.c: Avoid conflict with win32 headers in
        the libdate routines.  (#323045, Kazuki Iwamoto)
 
index 597010aa592243f0d2889752b6e125f4f8895285..7ff90a8efd380c6c53b8b6fc7ba0ed89ee5a801c 100644 (file)
@@ -1026,7 +1026,6 @@ gtk_menu_attach_to_widget (GtkMenu               *menu,
   
   g_return_if_fail (GTK_IS_MENU (menu));
   g_return_if_fail (GTK_IS_WIDGET (attach_widget));
-  g_return_if_fail (detacher != NULL);
   
   /* keep this function in sync with gtk_widget_set_parent()
    */
@@ -1103,7 +1102,8 @@ gtk_menu_detach (GtkMenu *menu)
                                        (gpointer) attach_widget_screen_changed,
                                        menu);
 
-  data->detacher (data->attach_widget, menu);
+  if (data->detacher)
+    data->detacher (data->attach_widget, menu);
   list = g_object_steal_data (G_OBJECT (data->attach_widget), ATTACHED_MENUS);
   list = g_list_remove (list, menu);
   if (list)